#ifndef GATHER_H
#define GATHER_H

// 硬件依赖头文件
#include "stm32f10x.h"   // STM32F10x系列芯片标准库
#include "system.h"      // 系统初始化相关

// FreeRTOS实时操作系统组件
#include "FreeRTOS.h"    // FreeRTOS核心
#include "task.h"        // 任务管理相关

// 传感器驱动
#include "dht11.h"       // 温湿度传感器驱动
#include "adc.h"         // 模数转换器驱动（用于光照和烟雾）
#include "rain.h"        // 雨水检测驱动

// 数据处理模块
#include "GatherDataHandlerMemory.h"  // 采集数据处理模块

/**
 *  采集模块初始化函数
 * 
 * 初始化所有传感器硬件：
 * - DHT11温湿度传感器
 * - ADC（用于光照和烟雾检测）
 * - 雨水检测模块
 */
void init_gather();  

/**
 *  创建数据采集任务
 * 
 * 创建并启动数据采集任务，该任务将：
 * 1. 周期性读取所有传感器数据
 * 2. 将原始数据发送给数据处理模块
 * 3. 每2秒执行一次采集
 */
void createGatherTask();

#endif